package sjtu.ist.warehouse4ws.dao;

import java.util.List;

import sjtu.ist.warehouse4ws.model.Fileinfo;

public interface FileInfoDao {
	/**
	 * 加载FileInfo实例
	 * @param id �?��加载的FileInfo实例的主键�?
	 * @return 返回加载的FileInfo实例
	 */ 
	Fileinfo get(String id);

	/**
	 * 保存FileInfo实例
	 * @param fileInfo �?��保存的FileInfo实例
	 * @return 刚刚保存的FileInfo实例的标识属性�?
	 */    
	String save(Fileinfo fileInfo);

	/**
	 * 修改FileInfo实例
	 * @param fileInfo �?��修改的FileInfo实例
	 */
	void update(Fileinfo fileInfo);

	/**
	 * 删除FileInfo实例
	 * @param id �?��删除的FileInfo实例的标识属性�?
	 */
	void delete(String id);

	/**
	 * 删除FileInfo实例
	 * @param fileInfo �?��删除的FileInfo实例
	 */
	void delete(Fileinfo fileInfo);

	/**
	 * 根据文件名查找文件
	 * @param name 查询的文件名
	 * @return 指定文件名对应的全部文件
	 */
	List<Fileinfo> findByName(String name);
	
	/**
	 * 获得所有文件
	 * @return 全部文件
	 */
	List<Fileinfo> getAllFileInfos();
	
	//模型普通搜索
	List<Fileinfo> findByKeyword(String keyWord);
	
	//模型高级搜索
	List<Fileinfo> findDetailByKeyword(String keyWord1, String keyWord2, String keyWord3,
										String keyWord4, String keyWord5, String keyWord6);
	
	String getCompanyByFileInfoId(String fileInfoId);
}
